﻿//this class use poco library timer to implement timerimpl interface
//andycai_sc 2011-05-28

#ifndef POCOTIMERIMPL_H
#define POCOTIMERIMPL_H

#include "GParallel/GTimerImpl.h"
#include "Poco/Util/Timer.h"
#include "Poco/Util/TimerTaskAdapter.h"

class PocoTimerImpl : public GTimerImpl
{
public:
	PocoTimerImpl(GTimer* timer);
	virtual ~PocoTimerImpl();

	void beginImpl(long millisc);

	void cancelImpl();

private:
	void onTimer(Poco::Util::TimerTask& task);
	Poco::Util::TimerTask::Ptr m_task;
	Poco::Util::Timer m_pocoTimer;
	GTimer* m_timer;
};

#endif
